#ifndef __STD_FUNCTIONAL_H__
#define __STD_FUNCTIONAL_H__

#include <functional>
#include <iostream>

struct Foo {
  Foo(int num);
  void print_add(int i) const;
  int num_;
};

struct PrintNum {
  void operator()(int num) const;
};

void print_num(int num);

void test_std_functional();

#endif // __STD_FUNCTIONAL_H__